import Vue from 'vue'
import VueRouter from 'vue-router'
// Import views for each route
import Home from '@/views/Home.vue';
import NotFound from '@/views/NotFound.vue';
import Solution from '@/views/Solution.vue';
import ModelSpecific from '@/views/solution/ModelSpecific.vue';
import ProductCenter from '@/views/ProductCenter.vue';
import Model from '@/views/productCenter/Model.vue';
import Brand from '@/views/productCenter/Brand.vue';
import Application from '@/views/productCenter/Application.vue';
import TrainingCenter from '@/views/TrainingCenter.vue';
import DownloadCenter from '@/views/trainingCenter/DownloadCenter.vue';
import VideoCourses from '@/views/trainingCenter/VideoCourses.vue';
import OfflineTraining from '@/views/trainingCenter/OfflineTraining.vue';
import RecentActivities from '@/views/RecentActivities.vue';
import ActivityCategories from '@/views/recentActivities/ActivityCategories.vue';
import Calendar from '@/views/recentActivities/Calendar.vue';
import MediaCenter from '@/views/MediaCenter.vue';
import LatestNews from '@/views/mediaCenter/LatestNews.vue';
import SpecialNews from '@/views/mediaCenter/SpecialNews.vue';
import AboutUs from '@/views/AboutUs.vue';
import AboutCompany from '@/views/aboutUs/AboutCompany.vue';
import CorporateResponsibility from '@/views/aboutUs/CorporateResponsibility.vue';
import Careers from '@/views/Careers.vue';
import ContactUs from '@/views/ContactUs.vue';
import Stores from '@/views/Stores.vue';
import ConceptStores from '@/views/stores/ConceptStores.vue';
import Showrooms from '@/views/stores/Showrooms.vue';
import MemberCenter from '@/views/MemberCenter.vue';
import Register from '@/views/memberCenter/Register.vue';
import Login from '@/views/memberCenter/Login.vue';

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('@/views/Home.vue')
  },
  {
    path: '/solution',
    name: 'Solution',
    component: () => import('@/views/Solution.vue')
  },
  {
    path: '/solution/model-specific/:id',
    name: 'ModelSpecific',
    component: () => import('@/views/solution/ModelSpecific.vue')
  },
  {
    path: '/product-center',
    name: 'ProductCenter',
    component: () => import('@/views/ProductCenter.vue')
  },
  {
    path: '/product-center/model',
    name: 'Model',
    component: () => import('@/views/productCenter/Model.vue')
  },
  {
    path: '/product-center/brand',
    name: 'Brand',
    component: () => import('@/views/productCenter/Brand.vue')
  },
  {
    path: '/product-center/application',
    name: 'Application',
    component: () => import('@/views/productCenter/Application.vue')
  },
  {
    path: '/training-center',
    name: 'TrainingCenter',
    component: () => import('@/views/TrainingCenter.vue')
  },
  {
    path: '/training-center/download-center',
    name: 'DownloadCenter',
    component: () => import('@/views/trainingCenter/DownloadCenter.vue')
  },
  {
    path: '/training-center/video-courses',
    name: 'VideoCourses',
    component: () => import('@/views/trainingCenter/VideoCourses.vue')
  },
  {
    path: '/training-center/offline-training',
    name: 'OfflineTraining',
    component: () => import('@/views/trainingCenter/OfflineTraining.vue')
  },
  {
    path: '/recent-activities',
    name: 'RecentActivities',
    component: () => import('@/views/RecentActivities.vue')
  },
  {
    path: '/recent-activities/activity-categories',
    name: 'ActivityCategories',
    component: () => import('@/views/recentActivities/ActivityCategories.vue')
  },
  {
    path: '/recent-activities/calendar',
    name: 'Calendar',
    component: () => import('@/views/recentActivities/Calendar.vue')
  },
  {
    path: '/media-center',
    name: 'MediaCenter',
    component: () => import('@/views/MediaCenter.vue')
  },
  {
    path: '/media-center/latest-news',
    name: 'LatestNews',
    component: () => import('@/views/mediaCenter/LatestNews.vue')
  },
  {
    path: '/media-center/special-news',
    name: 'SpecialNews',
    component: () => import('@/views/mediaCenter/SpecialNews.vue')
  },
  {
    path: '/about-us',
    name: 'AboutUs',
    component: () => import('@/views/AboutUs.vue')
  },
  {
    path: '/about-us/about-company',
    name: 'AboutCompany',
    component: () => import('@/views/aboutUs/AboutCompany.vue')
  },
  {
    path: '/about-us/corporate-responsibility',
    name: 'CorporateResponsibility',
    component: () => import('@/views/aboutUs/CorporateResponsibility.vue')
  },
  {
    path: '/careers',
    name: 'Careers',
    component: () => import('@/views/Careers.vue')
  },
  {
    path: '/contact-us',
    name: 'ContactUs',
    component: () => import('@/views/ContactUs.vue')
  },
  {
    path: '/stores',
    name: 'Stores',
    component: () => import('@/views/Stores.vue')
  },
  {
    path: '/stores/concept-stores',
    name: 'ConceptStores',
    component: () => import('@/views/stores/ConceptStores.vue')
  },
  {
    path: '/stores/showrooms',
    name: 'Showrooms',
    component: () => import('@/views/stores/Showrooms.vue')
  },
  {
    path: '/member-center',
    name: 'MemberCenter',
    component: () => import('@/views/MemberCenter.vue')
  },
  {
    path: '/member-center/register',
    name: 'Register',
    component: () => import('@/views/memberCenter/Register.vue')
  },
  {
    path: '/member-center/login',
    name: 'Login',
    component: () => import('@/views/memberCenter/Login.vue')
  },
  {
    path: '*',
    name: 'NotFound',
    component: () => import('@/views/NotFound.vue')
  }
];

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router
